//
//  AppDelegate+Realm.m
//  minidai
//
//  Created by 容贤郁 on 2018/3/15.
//  Copyright © 2018年 迷你金服. All rights reserved.
//

#import "AppDelegate+Realm.h"
#import "MNDLoginUserModel.h"

@implementation AppDelegate (Realm)

- (void)configRealm {
    RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];
    // 设置新的架构版本。这个版本号必须高于之前所用的版本号（如果您之前从未设置过架构版本，那么这个版本号设置为 0）
    config.schemaVersion = 1;
    
    // 设置闭包，这个闭包将会在打开低于上面所设置版本号的 Realm 数据库的时候被自动调用
    config.migrationBlock = ^(RLMMigration *migration, uint64_t oldSchemaVersion) {

        [migration enumerateObjects: MNDLoginUserModel.className block:^(RLMObject * _Nullable oldObject, RLMObject * _Nullable newObject) {
            //新增或删除数据库字段
            if (oldSchemaVersion < 1) {
                //新增用户头像
                newObject[@"user_photo"] = @"";
                //新增用户手机
                newObject[@"user_phone"] = @"";
            }
//
//            if (oldSchemaVersion < 1) {
//                newObject[@"fire_code"] = @"";
//            }
        }];
    };
    
    // 告诉 Realm 为默认的 Realm 数据库使用这个新的配置对象
    [RLMRealmConfiguration setDefaultConfiguration:config];
    
    // 现在我们已经告诉了 Realm 如何处理架构的变化，打开文件之后将会自动执行迁移
    [RLMRealm defaultRealm];
}

@end
